package com.company.aicrawlers.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 问句-平台执行状态表 (V2新增核心表)
 * 记录每个问句在每个平台的执行状态，支持断点续传
 * 
 * @author AI Crawlers
 * @since 2025-10-10
 */
@Data
@TableName("collect_task_question_platform")
public class CollectTaskQuestionPlatform implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 记录ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 任务ID
     */
    private Long taskId;

    /**
     * 问句ID
     */
    private Long questionId;

    /**
     * AI平台名称
     */
    private String platformName;

    /**
     * 执行状态: pending-待执行, running-执行中, success-执行成功, failed-执行失败
     */
    private String executeStatus;

    /**
     * 开始执行时间
     */
    private LocalDateTime executeTime;

    /**
     * 完成时间
     */
    private LocalDateTime completeTime;

    /**
     * 重试次数
     */
    private Integer retryCount;

    /**
     * 错误信息（失败时记录）
     */
    private String errorMessage;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}

